#ifndef PRESETOBJECT_H
#define PRESETOBJECT_H

#include <QVariant>

class PresetObject
{
public:
    PresetObject();
    PresetObject(const PresetObject& rhs);
    PresetObject(int key, const QString &keyName, const QVariant &defaultValue);

    void setData(const QString &inputData);

    int  getIntData() const;
    bool getBoolData() const;
    double getDoubleData() const;
    QString getStringData() const;

    int getKey() const;
    QString getKeyName() const;

    void restoreDefaultValue();

    QString getDefaultData() const;
    void setDefaultData(const QString &value);

private:
    int m_presetKey;
    QString m_keyName;
    QVariant m_data;
    QVariant m_defaultData;
};

#endif // PRESETOBJECT_H
